package cc.zy.base.hr.service;

import cc.zy.base.common.entity.QueryRequest;
import cc.zy.base.hr.entity.Lecturer;
import cc.zy.base.hr.entity.OutsideTeacher;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
 * @author 郝秀峰
 * @time 2022/03/08 19:27:30
 */
public interface IOutsideTeacherService extends IService<OutsideTeacher> {
    /**
     * 查询（分页）
     *
     * @param request QueryRequest
     * @param outsideTeacher OutsideTeacher
     * @return IPage<OutsideTeacher>
     */
    IPage<OutsideTeacher> findOutsideTeachers(QueryRequest request, OutsideTeacher outsideTeacher);

    /**
     * 通过ID查找外部讲师详细信息
     *
     * @param id id
     * @return 外部讲师信息
     */
    OutsideTeacher getById(Integer id);

    /**
     * 查询（所有）
     *
     * @param outsideTeacher OutsideTeacher
     * @return List<OutsideTeacher>
     */
    List<OutsideTeacher> findOutsideTeachers(OutsideTeacher outsideTeacher);

    /**
     * 新增
     *
     * @param outsideTeacher OutsideTeacher
     */
    void createOutsideTeacher(OutsideTeacher outsideTeacher);

    /**
     * 修改
     *
     * @param outsideTeacher OutsideTeacher
     */
    void updateOutsideTeacher(OutsideTeacher outsideTeacher);

    /**
     * 删除外部讲师信息
     *
     * @param
     */
    void deleteOutsideTeachers(String[] outsideTeacherIds);

    /**
     * 查询不带分页
     */
    List<OutsideTeacher> findOutsideTeacherListNotPage(OutsideTeacher outsideTeacher);

    /**
     * 查询前台输入的姓名是否存在
     *
     * @param realName
     * @return
     */
    Boolean isRepetitive(String realName,String phone);

    /**
     * 修改状态
     *
     * @return
     */
    void updateOutsideTeacherStatus(Integer outsideTeacherId);

    /**
     * @Author: PW
     * @Description: 查询带分页
     * @DateTime: 2022/3/8 22:04
     * @Params: [request, outsideTeacher]
     * @Return com.baomidou.mybatisplus.core.metadata.IPage<cc.zy.base.hr.entity.OutsideTeacher>
     */
    IPage<Lecturer> listOutsideTeacher(QueryRequest request, Lecturer lecturer);
}
